1)
File > Options
> Customize Ribbon > Main Tabs > Developer > Add
2)
Developer >
Controls > Design Mode
3)
Select a content
control and then Developer > Controls > Properties
the title property has no meaning in DocXpress
the tag property determines whether it is a value, conditional, repetition,
etc.
THE MARKUP
|
Test |
a |
b |
c |
Expected |
Actual |
|
a or b |
true |
true |
|
Yes |
|
|
|
true |
false |
|
Yes |
|
|
|
false |
true |
|
Yes |
|
|
|
false |
false |
|
No |
|
|
|
true |
unknown |
|
Yes |
|
|
|
false |
unknown |
|
... |
|
|
a xor b |
true |
true |
|
No |
|
|
|
true |
false |
|
Yes |
|
|
|
false |
true |
|
Yes |
|
|
|
false |
false |
|
No |
|
|
|
true |
unknown |
|
... |
|
|
|
false |
Unknown |
|
... |
|
|
a nor b |
true |
true |
|
No |
|
|
|
true |
false |
|
No |
|
|
|
false |
true |
|
No |
|
|
|
false |
false |
|
Yes |
|
|
|
true |
unknown |
|
No |
|
|
|
false |
unknown |
|
... |
|
|
a and b |
true |
true |
|
Yes |
|
|
|
true |
false |
|
No |
|
|
|
false |
true |
|
No |
|
|
|
false |
false |
|
No |
|
|
|
true |
unknown |
|
... |
|
|
|
false |
unknown |
|
No |
|
|
a nand b |
true |
true |
|
No |
|
|
|
true |
false |
|
Yes |
|
|
|
false |
true |
|
Yes |
|
|
|
false |
false |
|
Yes |
|
|
|
true |
unknown |
|
... |
|
|
|
false |
unknown |
|
Yes |
|
|
not a |
true |
|
No |
|
|
|
|
false |
|
Yes |
|
|
|
|
unknown |
|
... |
|
|
|
if a then b else c |
true |
Alpha |
Beta |
Alpha |
|
|
|
false |
Alpha |
Beta |
Beta |
|
|
|
unknown |
Alpha |
Beta |
... |
|
|
a + b |
2 |
5 |
|
7 |
|
|
a - b |
2 |
5 |
|
-3 |
|
|
- a |
2 |
|
-2 |
|
|
|
a * b |
2 |
5 |
|
10 |
|
|
a / b |
2 |
5 |
|
0.4 |
|
|
a % b |
2 |
5 |
|
2 |
|
|
a ** b |
2 |
5 |
|
32 |
|
|
a < b |
2 |
5 |
|
Yes |
|
|
2 |
2 |
|
No |
|
|
|
5 |
2 |
|
No |
|
|
|
a <= b |
2 |
5 |
|
Yes |
|
|
2 |
2 |
|
Yes |
|
|
|
5 |
2 |
|
No |
|
|
|
a > b |
2 |
5 |
|
No |
|
|
2 |
2 |
|
No |
|
|
|
5 |
2 |
|
Yes |
|
|
|
a >= b |
2 |
5 |
|
No |
|
|
2 |
2 |
|
Yes |
|
|
|
5 |
2 |
|
Yes |
|
|
|
a == b |
2 |
5 |
|
No |
|
|
2 |
2 |
|
Yes |
|
|
|
Alpha |
alphaA |
|
Yes |
|
|
|
a === b |
2 |
5 |
|
No |
|
|
2 |
2 |
|
Yes |
|
|
|
Alpha |
alphaA |
|
No |
|
|
|
a != b |
2 |
5 |
|
Yes |
|
|
2 |
2 |
|
No |
|
|
|
Alpha |
alphaA |
|
No |
|
|
|
a !== b |
2 |
5 |
|
Yes |
|
|
2 |
2 |
|
No |
|
|
|
Alpha |
alphaA |
|
Yes |
|
|
|
select a from b where c |
Digit |
Numbers |
|
1,2,3,4,5,6,7,8,9,10 |
|
|
Digit |
Numbers |
Oddness == "odd" |
1,3,5,7,9 |
|
|
|
Word |
Numbers |
Digit >= 3 and Digit <= 7 |
Three,Four,Five,Six,Seven |
|
|
|
select top a from b where c |
Digit |
Numbers |
|
1 |
|
|
Digit |
Numbers |
Oddness == "odd" |
1 |
|
|
|
Word |
Numbers |
Digit >= 3 and Digit <= 7 |
Three |
|
THE OPERATORS
|
Operator |
a |
b |
c |
Return |
Description |
Example |
|
a or b |
boolean |
boolean |
|
boolean |
Logical (inclusive) or |
true or false |
|
a xor b |
boolean |
boolean |
|
boolean |
Logical exclusive or |
true xor true |
|
a nor b |
boolean |
boolean |
|
boolean |
Logical not or |
false nor true |
|
a and b |
boolean |
boolean |
|
boolean |
Logical and |
true and false |
|
a nand b |
boolean |
boolean |
|
boolean |
Logical not and |
true nand false |
|
not a |
boolean |
|
boolean |
Logical not |
not false |
|
|
if a then b else c |
boolean |
any |
any |
any |
If-then-else |
true ? 1 : 2 |
|
a + b |
number |
number |
|
number |
Arithmetic addition |
1 + 2 3 |
|
a - b |
number |
number |
|
number |
Arithmetic subtraction |
1 – 2 -1 |
|
- a |
number |
|
|
number |
Arithmetic unary negation |
- 2 -2 |
|
a * b |
number |
number |
|
number |
Arithmetic multiplication |
1 * 2 2 |
|
a / b |
number |
number |
|
number |
Arithmetic division |
1 / 2 0.5 |
|
a % b |
number |
number |
|
number |
Arithmetic remainder |
1 % 2 1 |
|
a ** b |
number |
number |
|
number |
Arithmetic exponentiation |
1 / 2 0.5 |
|
a < b |
any |
any |
|
boolean |
Less than comparison |
1 < 2 true |
|
a <= b |
any |
any |
|
boolean |
Less than or equal comparison |
1 <= 2 true |
|
a > b |
any |
any |
|
boolean |
Greater than comparison |
1 > 2 false |
|
a >= b |
any |
any |
|
boolean |
Greater than or equal comparison |
1 >= 2 false |
|
a == b |
any |
any |
|
boolean |
Equal comparison |
1 == 2 "Alpha" == "alphA" false true |
|
a === b |
any |
any |
|
boolean |
Identical comparison |
1 === 2 "Alpha" == "alphA" false false |
|
a != b |
any |
any |
|
boolean |
Not equal comparison |
1 != 2 true |
|
a !== b |
any |
any |
|
boolean |
Not identical comparison |
1 !== 2 True |
|
select a from b where c |
name |
name |
boolean |
list |
Select cells in a table (b) column (a) where (c)
conditions on other columns hold true |
select digit from numbers where oddness == "odd" 1,3,5,7,9 |
|
select top a from b where c |
name |
name |
boolean |
list |
Select the first cell in a table (b) column (a)
where (c) conditions on other columns hold true |
select top digit from numbers where oddness == "odd" 1 |
The lower the precedence the more tightly the operator is bound to its immediate operands.
Operators of equal precedence associate to the left. For example, A + B – C is equivalent to ( A + B ) – C.
|
Operator |
Precedence |
Left Associative |
Right Associative |
||
|
Example |
Equivalent |
Example |
Equivalent |
||
|
- (unary) |
1 |
- A + B |
( - A ) + B |
A + - B |
A + ( - B ) |
|
not |
1 |
not A and B |
( not A ) and B |
A and not B |
A and ( not B ) |
|
** |
2 |
A ** B * C |
( A ** B ) * C |
A * B ** C |
A * ( B ** C ) |
|
* |
3 |
A * B + C |
( A * B ) + C |
A + B * C |
A + ( B * C ) |
|
/ |
3 |
A / B + C |
( A / B ) + C |
A + B / C |
A + ( B / C ) |
|
% |
3 |
A % B + C |
( A % B ) + C |
A + B % C |
A + ( B % C ) |
|
+ |
4 |
A + B < C |
( A + B ) < C |
A < B + C |
A < ( B + C ) |
|
- (binary) |
4 |
A - B < C |
( A - B ) < C |
A < B - C |
A < ( B - C ) |
|
< |
5 |
A < B and C |
( A < B ) and C |
A and B < C |
A and ( B < C ) |
|
> |
5 |
A > B and C |
( A > B ) and C |
A and B > C |
A and ( B > C ) |
|
<= |
5 |
A <= B and C |
( A <= B ) and C |
A and B <= C |
A and ( B <= C ) |
|
>= |
5 |
A >= B and C |
( A == B ) and C |
A and B >= C |
A and ( B == C ) |
|
== |
6 |
A == B and C |
( A == B ) and C |
A and B == C |
A and ( B == C ) |
|
=== |
6 |
A === B and C |
( A === B ) and C |
A and B === C |
A and ( B === C ) |
|
!= |
6 |
A != B and C |
( A != B ) and C |
A and B != C |
A and ( B != C ) |
|
!== |
6 |
A !== B and C |
( A !== B ) and C |
A and B !== C |
A and ( B !== C ) |
|
and |
7 |
A and B or C |
( A and B ) or C |
A or B and C |
A or ( B and C ) |
|
nand |
7 |
A nand B or C |
( A nand B ) or C |
A or B nand C |
A or ( B nand C ) |
|
or |
8 |
if A then B else C or D |
if A then B else ( C or D ) |
|
|
|
nor |
8 |
if A then B else C nor D |
if A then B else ( C nor D ) |
|
|
|
xor |
8 |
if A then B else C xor D |
if A then B else ( C xor D ) |
|
|
|
if … then … else … |
9 |
|
|
|
|
|
select [top] … from … where … |
9 |
select A from B where C and D |
select A from B where ( C and D ) |
|
|
THE DICTIONARY
|
Digit |
Word |
OddNess |
|
number |
text |
text |
|
1 |
One |
Odd |
|
2 |
Two |
Even |
|
3 |
Three |
Odd |
|
4 |
Four |
Even |
|
5 |
Five |
Odd |
|
6 |
Six |
Even |
|
7 |
Seven |
Odd |
|
8 |
Eight |
Even |
|
9 |
Nine |
Odd |
|
10 |
Ten |
Even |
THE CONFIGURATION
|
Row |
Column |
Cell |
Height |
HeightNoWording |
Width |
WidthNoWording |
Style |
Note |
|
single |
|
|
100% |
|
|
|
|
The row containing the wording |
|
|
single |
|
|
|
100% |
|
|
The column containing the wording |
|
|
|
Wording |
100% |
|
|
|
|
The wording of the document to be
assembled |
|
Group |
Setting |
Value |
Note |
|
Wording |
Visible |
true |
The wording is initially
visible |